home *** CD-ROM | disk | FTP | other *** search
- /* SybaseDelegate.h:
- * You may freely copy, distribute, and reuse the code in this example.
- * NeXT disclaims any warranty of any kind, expressed or implied, as to its
- * fitness for any particular use.
- *
- * Written by Dan Willhite, EO Dev Team
- * Modified by Mai Nguyen
- *
- */
-
- #import "SybaseDelegate.h"
- #import "Evaluator.h"
-
- /* A way to get a string out of an object */
-
- @implementation SybaseDelegate
- - (NSArray *)sybaseChannel:(SybaseChannel *)channel
- willFetchAttributes:(NSArray *)attributes
- forRowOfType:(SybaseRowType)rowType
- withComputeRowId:(int)computeRowId
- {
- currentRowType = rowType;
-
- if (rowType == SybaseRegularRow)
- return attributes;
-
- attributes = [(EOAdaptorChannel *) channel describeResults];
- return attributes;
- }
-
- /* Return YES will return all row types: regular, compute, etc.
- * If one only wants specific rows to be returned, one can selectively
- * return YES on those row types and NO on all others.
- */
- - (BOOL)sybaseChannel:(SybaseChannel *)channel
- willReturnRow:(NSDictionary *)row ofType:(SybaseRowType)rowType
- withComputeRowId:(int)computeRowId
- {
- currentRowType = rowType;
-
- switch (rowType) {
- case SybaseRegularRow:
- break;
- case SybaseComputeRow:
- [[[NXApp mainWindow] delegate] logString:@"Returning compute row\n"];
- break;
- case SybaseReturnParameterRow:
- [[[NXApp mainWindow] delegate] logString:
- @"Returning return parameter row\n"];
- break;
- case SybaseReturnStatusRow:
- [[[NXApp mainWindow] delegate] logString:
- @"Returning return status row\n"];
- break;
- }
-
- return YES;
- }
-
- - (SybaseRowType) currentRowType
- {
- return currentRowType;
- }
-
- - (void)adaptorChannelDidChangeResultSet:channel
- {
- // Invoked from -fetchAttributes:withZone: to tell the delegate that
- // fetching will start for the next result set, when a select operation
- // resulted in multiple result sets. This method is invoked just after a
- // -fetchAttributes:withZone: returns nil when there are still result sets
- // left to fetch.
-
- [[[NXApp mainWindow] delegate] announce:channel selector:_cmd];
- }
-
-
-
- - (void)adaptorChannel:channel
- didEvaluateExpression:(NSString *)expression
- {
- // Invoked from -evaluateExpression: to tell the delegate that a query
- // language expression has been evaluated by the database server. The
- // delegate may take whatever action it needs based on this information.
-
- [[[NXApp mainWindow] delegate] announce:channel
- selector:_cmd
- with:[NSArray arrayWithObject:expression]];
- }
-
-
-
- @end
-
-